package datei;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;

import Mitglied.ArrayMitgliederListe;
import Mitglied.Mitglied;

public class MitgliedDateiImpl extends ArrayMitgliederListe implements IDateiAnbindung
{

	
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Override
	public void speichern(File datei) throws IOException
	{
		try(ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(datei)))
		{
			output.writeObject(mitglarray);
		}  catch (IOException e)
		{
			throw new IOException("Fehler beim Speichern der Datei " + datei, e);
		} 
	}

	@SuppressWarnings("unchecked")
	@Override
	public void oeffnen(File datei) throws IOException
	{
		try(ObjectInputStream input = new ObjectInputStream(new FileInputStream(datei)))
		{
			mitglarray = (List<Mitglied>) input.readObject();
		}  catch (IOException | ClassNotFoundException e)
		{
			throw new IOException("Fehler beim öffnen der Datei " + datei, e);
		} 
		
		}

	@Override
	public void neu() throws IOException
	{
		mitglarray.clear();
	}

	@Override
	public boolean aenderungen()
	{
		return mitglarray.size() > 0;
	}

}
